package com.jgzx.constant;

/**
 * 缓存的key常量
 */
public class CacheConstants {

    /**
     * 登录令牌缓存key前缀
     */
    public final static String LOGIN_TOKEN_PREFIX_KEY = "token:";
    /**
     * 运营平台登录令牌标识
     */
    public final static String LOGIN_TOKEN_FLAG_PLATFORM = "platform:";
    /**
     * 企业PC端登录令牌标识
     */
    public final static String LOGIN_TOKEN_FLAG_PC_ENTERPRISE = "pc_enterprise:";
    /**
     * 企业APP端登录令牌标识
     */
    public final static String LOGIN_TOKEN_FLAG_APP_ENTERPRISE = "app_enterprise:";
    /**
     * 打刻端登录令牌标识
     */
    public final static String LOGIN_TOKEN_FLAG_LASER_MARK_ENTERPRISE = "laser_mark_enterprise:";
    /**
     * 二级节点登录令牌标识
     */
    public final static String LOGIN_TOKEN_FLAG_SECOND_NODE = "second_node:";
    /**
     * 运营平台令牌有效期（秒）：1小时
     */
    public final static int TOKEN_EXPIRE_PLATFORM = 1 * 60 * 60;
    /**
     * 企业PC端令牌有效期（秒）：2小时
     */
    public final static int TOKEN_EXPIRE_PC_ENTERPRISE = 2 * 60 * 60;
    /**
     * 企业APP端令牌有效期（秒）：3天
     */
    public final static int TOKEN_EXPIRE_APP_ENTERPRISE = 3 * 24 * 60 * 60;
    /**
     * 打刻端令牌有效期（秒）：15天
     */
    public final static int TOKEN_EXPIRE_LASER_MARK_ENTERPRISE = 15 * 24 * 60 * 60;
    /**
     * 二级节点令牌有效期（秒）：23小时
     */
    public final static int TOKEN_EXPIRE_SECOND_NODE_ENTERPRISE = 60;
    //public final static int TOKEN_EXPIRE_SECOND_NODE_ENTERPRISE = 23 * 60 * 60;
    /**
     * 图形验证码缓存key前缀
     */
    public static final String CAPTCHA_CODE_KEY = "captcha_code:";
    /**
     * 图形验证码有效期（秒）
     */
    public static final int CAPTCHA_EXPIRE = 5 * 60;
    /**
     * 短信验证码缓存key
     */
    public static final String SMS_CODE_KEY = "sms_code:";
    /**
     * 短信验证码有效期（秒）
     */
    public static final long SMS_CODE_EXPIRE = 10 * 60;
    /**
     * 在线企业key前缀
     */
    public static final String ONLINE_ENTERPRISE_KEY = "online_enterprise:";
    /**
     * 在线用户key前缀
     */
    public static final String ONLINE_USER_KEY = "online_user:";
    /**
     * 在线设备key前缀
     */
    public static final String ONLINE_EQUIPMENT_KEY = "online_equipment:";

    /**
     * 获取token的过期时间
     *
     * @param token_key
     * @return
     */
    public static int getTokenExpire(String token_key) {
        if (token_key.startsWith(LOGIN_TOKEN_FLAG_PLATFORM)) {
            return TOKEN_EXPIRE_PLATFORM;
        }
        if (token_key.startsWith(LOGIN_TOKEN_FLAG_PC_ENTERPRISE)) {
            return TOKEN_EXPIRE_PC_ENTERPRISE;
        }
        if (token_key.startsWith(LOGIN_TOKEN_FLAG_APP_ENTERPRISE)) {
            return TOKEN_EXPIRE_APP_ENTERPRISE;
        }
        return 24 * 60 * 60;
    }

}
